home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / p_man / cat3 / perl5 / ExtUtils::MM_VMS.z / ExtUtils::MM_VMS
Encoding:
Text File  |  1998-10-30  |  12.5 KB  |  397 lines

  1.  
  2.  
  3.  
  4. EEEExxxxttttUUUUttttiiiillllssss::::::::MMMMMMMM____VVVVMMMMSSSS((((3333))))                                        EEEExxxxttttUUUUttttiiiillllssss::::::::MMMMMMMM____VVVVMMMMSSSS((((3333))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ExtUtils::MM_VMS - methods to override UN*X behaviour in
  10.      ExtUtils::MakeMaker
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.       use ExtUtils::MM_VMS; # Done internally by ExtUtils::MakeMaker if needed
  14.  
  15.  
  16. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  17.      See ExtUtils::MM_Unix for a documentation of the methods provided there.
  18.      This package overrides the implementation of these methods, not the
  19.      semantics.
  20.  
  21.      MMMMeeeetttthhhhooooddddssss aaaallllwwwwaaaayyyyssss llllooooaaaaddddeeeedddd
  22.  
  23.      eliminate_macros
  24.           Expands MM[KS]/Make macros in a text string, using the contents of
  25.           identically named elements of %$self, and returns the result as a
  26.           file specification in Unix syntax.
  27.  
  28.      fixpath
  29.           Catchall routine to clean up problem MM[SK]/Make macros.  Expands
  30.           macros in any directory specification, in order to avoid juxtaposing
  31.           two VMS-syntax directories when MM[SK] is run.  Also expands
  32.           expressions which are all macro, so that we can tell how long the
  33.           expansion is, and avoid overrunning DCL's command buffer when MM[KS]
  34.           is running.
  35.  
  36.           If optional second argument has a TRUE value, then the return string
  37.           is a VMS-syntax directory specification, otherwise it is a
  38.           VMS-syntax file specification.
  39.  
  40.      catdir
  41.           Concatenates a list of file specifications, and returns the result
  42.           as a VMS-syntax directory specification.
  43.  
  44.      catfile
  45.           Concatenates a list of file specifications, and returns the result
  46.           as a VMS-syntax directory specification.
  47.  
  48.      wraplist
  49.           Converts a list into a string wrapped at approximately 80 columns.
  50.  
  51.      curdir (override)
  52.           Returns a string representing of the current directory.
  53.  
  54.      rootdir (override)
  55.           Returns a string representing of the root directory.
  56.  
  57.      updir (override)
  58.           Returns a string representing of the parent directory.
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. EEEExxxxttttUUUUttttiiiillllssss::::::::MMMMMMMM____VVVVMMMMSSSS((((3333))))                                        EEEExxxxttttUUUUttttiiiillllssss::::::::MMMMMMMM____VVVVMMMMSSSS((((3333))))
  71.  
  72.  
  73.  
  74.      SSSSeeeellllffffLLLLooooaaaaddddeeeedddd mmmmeeeetttthhhhooooddddssss
  75.  
  76.      Those methods which override default MM_Unix methods are marked
  77.      "(override)", while methods unique to MM_VMS are marked "(specific)".
  78.      For overridden methods, documentation is limited to an explanation of why
  79.      this method overrides the MM_Unix method; see the ExtUtils::MM_Unix
  80.      documentation for more details.
  81.  
  82.      guess_name (override)
  83.           Try to determine name of extension being built.  We begin with the
  84.           name of the current directory.  Since VMS filenames are case-
  85.           insensitive, however, we look for a ._p_m file whose name matches that
  86.           of the current directory (presumably the 'main' ._p_m file for this
  87.           extension), and try to find a package statement from which to obtain
  88.           the Mixed::Case package name.
  89.  
  90.      find_perl (override)
  91.           Use VMS file specification syntax and CLI commands to find and
  92.           invoke Perl images.
  93.  
  94.      path (override)
  95.           Translate logical name DCL$PATH as a searchlist, rather than trying
  96.           to split string value of $ENV{'PATH'}.
  97.  
  98.      maybe_command (override)
  99.           Follows VMS naming conventions for executable files.  If the name
  100.           passed in doesn't exactly match an executable file, appends ._E_x_e (or
  101.           equivalent) to check for executable image, and ._C_o_m to check for DCL
  102.           procedure.  If this fails, checks directories in DCL$PATH and
  103.           finally _S_y_s$_S_y_s_t_e_m: for an executable file having the name
  104.           specified, with or without the ._E_x_e-equivalent suffix.
  105.  
  106.      maybe_command_in_dirs (override)
  107.           Uses DCL argument quoting on test command line.
  108.  
  109.      perl_script (override)
  110.           If name passed in doesn't specify a readable file, appends ._c_o_m or
  111.           ._p_l and tries again, since it's customary to have file types on all
  112.           files under VMS.
  113.  
  114.      file_name_is_absolute (override)
  115.           Checks for VMS directory spec as well as Unix separators.
  116.  
  117.      replace_manpage_separator
  118.           Use as separator a character which is legal in a VMS-syntax file
  119.           name.
  120.  
  121.      init_others (override)
  122.           Provide VMS-specific forms of various utility commands, then hand
  123.           off to the default MM_Unix method.
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. EEEExxxxttttUUUUttttiiiillllssss::::::::MMMMMMMM____VVVVMMMMSSSS((((3333))))                                        EEEExxxxttttUUUUttttiiiillllssss::::::::MMMMMMMM____VVVVMMMMSSSS((((3333))))
  137.  
  138.  
  139.  
  140.      constants (override)
  141.           Fixes up numerous file and directory macros to insure VMS syntax
  142.           regardless of input syntax.  Also adds a few VMS-specific macros and
  143.           makes lists of files comma-separated.
  144.  
  145.      cflags (override)
  146.           Bypass shell script and produce qualifiers for CC directly (but warn
  147.           user if a shell script for this extension exists).  Fold multiple
  148.           /Defines into one, since some C compilers pay attention to only one
  149.           instance of this qualifier on the command line.
  150.  
  151.      const_cccmd (override)
  152.           Adds directives to point C preprocessor to the right place when
  153.           handling #include <sys/foo.h> directives.  Also constructs CC
  154.           command line a bit differently than MM_Unix method.
  155.  
  156.      pm_to_blib (override)
  157.           DCL _s_t_i_l_l accepts a maximum of 255 characters on a command line, so
  158.           we write the (potentially) long list of file names to a temp file,
  159.           then persuade Perl to read it instead of the command line to find
  160.           args.
  161.  
  162.      tool_autosplit (override)
  163.           Use VMS-style quoting on command line.
  164.  
  165.      tool_sxubpp (override)
  166.           Use VMS-style quoting on xsubpp command line.
  167.  
  168.      xsubpp_version (override)
  169.           Test xsubpp exit status according to VMS rules ($sts & 1 ==> good)
  170.           rather than Unix rules ($sts == 0 ==> good).
  171.  
  172.      tools_other (override)
  173.           Adds a few MM[SK] macros, and shortens some the installatin
  174.           commands, in order to stay under DCL's 255-character limit.  Also
  175.           changes EQUALIZE_TIMESTAMP to set revision date of target file to
  176.           one second later than source file, since MMK interprets precisely
  177.           equal revision dates for a source and target file as a sign that the
  178.           target needs to be updated.
  179.  
  180.      dist (override)
  181.           Provide VMSish defaults for some values, then hand off to default
  182.           MM_Unix method.
  183.  
  184.      c_o (override)
  185.           Use VMS syntax on command line.  In particular, $(DEFINE) and
  186.           $(PERL_INC) have been pulled into $(CCCMD).  Also use MM[SK] macros.
  187.  
  188.      xs_c (override)
  189.           Use MM[SK] macros.
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. EEEExxxxttttUUUUttttiiiillllssss::::::::MMMMMMMM____VVVVMMMMSSSS((((3333))))                                        EEEExxxxttttUUUUttttiiiillllssss::::::::MMMMMMMM____VVVVMMMMSSSS((((3333))))
  203.  
  204.  
  205.  
  206.      xs_o (override)
  207.           Use MM[SK] macros, and VMS command line for C compiler.
  208.  
  209.      top_targets (override)
  210.           Use VMS quoting on command line for Version_check.
  211.  
  212.      dlsyms (override)
  213.           Create VMS linker options files specifying universal symbols for
  214.           this extension's shareable image, and listing other shareable images
  215.           or libraries to which it should be linked.
  216.  
  217.      dynamic_lib (override)
  218.           Use VMS Link command.
  219.  
  220.      dynamic_bs (override)
  221.           Use VMS-style quoting on Mkbootstrap command line.
  222.  
  223.      static_lib (override)
  224.           Use VMS commands to manipulate object library.
  225.  
  226.      manifypods (override)
  227.           Use VMS-style quoting on command line, and VMS logical name to
  228.           specify fallback location at build time if we can't find pod2man.
  229.  
  230.      processPL (override)
  231.           Use VMS-style quoting on command line.
  232.  
  233.      installbin (override)
  234.           Stay under DCL's 255 character command line limit once again by
  235.           splitting potentially long list of files across multiple lines in
  236.           realclean target.
  237.  
  238.      subdir_x (override)
  239.           Use VMS commands to change default directory.
  240.  
  241.      clean (override)
  242.           Split potentially long list of files across multiple commands (in
  243.           order to stay under the magic command line limit).  Also use MM[SK]
  244.           commands for handling subdirectories.
  245.  
  246.      realclean (override)
  247.           Guess what we're working around?  Also, use MM[SK] for
  248.           subdirectories.
  249.  
  250.      dist_basics (override)
  251.           Use VMS-style quoting on command line.
  252.  
  253.      dist_core (override)
  254.           Syntax for invoking _V_M_S__S_h_a_r_e differs from that for Unix _s_h_a_r, so
  255.           shdist target actions are VMS-specific.
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. EEEExxxxttttUUUUttttiiiillllssss::::::::MMMMMMMM____VVVVMMMMSSSS((((3333))))                                        EEEExxxxttttUUUUttttiiiillllssss::::::::MMMMMMMM____VVVVMMMMSSSS((((3333))))
  269.  
  270.  
  271.  
  272.      dist_dir (override)
  273.           Use VMS-style quoting on command line.
  274.  
  275.      dist_test (override)
  276.           Use VMS commands to change default directory, and use VMS-style
  277.           quoting on command line.
  278.  
  279.      install (override)
  280.           Work around DCL's 255 character limit several times,and use
  281.           VMS-style command line quoting in a few cases.
  282.  
  283.      perldepend (override)
  284.           Use VMS-style syntax for files; it's cheaper to just do it directly
  285.           here than to have the MM_Unix method call catfile repeatedly.  Also
  286.           use config.vms as source of original config data if the Perl
  287.           distribution is available; config.sh is an ancillary file under VMS.
  288.           Finally, if we have to rebuild Config.pm, use MM[SK] to do it.
  289.  
  290.      makefile (override)
  291.           Use VMS commands and quoting.
  292.  
  293.      test (override)
  294.           Use VMS commands for handling subdirectories.
  295.  
  296.      test_via_harness (override)
  297.           Use VMS-style quoting on command line.
  298.  
  299.      test_via_script (override)
  300.           Use VMS-style quoting on command line.
  301.  
  302.      makeaperl (override)
  303.           Undertake to build a new set of Perl images using VMS commands.
  304.           Since VMS does dynamic loading, it's not necessary to statically
  305.           link each extension into the Perl image, so this isn't the normal
  306.           build path.  Consequently, it hasn't really been tested, and may
  307.           well be incomplete.
  308.  
  309.      nicetext (override)
  310.           Insure that colons marking targets are preceded by space, in order
  311.           to distinguish the target delimiter from a colon appearing as part
  312.           of a filespec.
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.                                                                         PPPPaaaaggggeeee 5555
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. EEEExxxxttttUUUUttttiiiillllssss::::::::MMMMMMMM____VVVVMMMMSSSS((((3333))))                                        EEEExxxxttttUUUUttttiiiillllssss::::::::MMMMMMMM____VVVVMMMMSSSS((((3333))))
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.                                                                         PPPPaaaaggggeeee 6666
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.